# ==================== 审计追踪系统项目配置文件 ====================
# 项目名称：AuditTrailSystem
# 功能描述：具有三级权限管理、高级数据导出和插件系统的综合审计追踪系统
# 版本：1.0.0

# Qt模块配置
QT += core gui sql widgets
QT += sql  # 添加这行以启用 Qt SQL 模块
# 编译器配置
CONFIG += c++11          # 启用C++11标准
CONFIG += console        # 启用控制台输出（用于调试）
CONFIG += c++17          # 启用C++17标准（用于高级特性）

# 外部库配置
# OpenSSL库路径 - 用于加密和数字签名功能
# 下载地址：https://slproweb.com/products/Win32OpenSSL.html
LIBS += -L"C:/openssl/lib" \
        -L"C:/postgresql/pgsql/lib"

# 项目基本信息
TARGET = AuditTrailSystem    # 可执行文件名称
TEMPLATE = app               # 应用程序模板

# ==================== 源文件配置 ====================
SOURCES += \
    main.cpp \                  # 主程序入口文件
    mainwindow.cpp \            # 主窗口实现文件
    auditlogger.cpp \           # 审计日志记录器实现
    databasehandler.cpp \       # 数据库处理器实现
    audittrailmodel.cpp \       # 审计追踪数据模型实现
    digitalsignature.cpp \      # 数字签名功能实现
    loginwidget.cpp \           # 登录界面实现
    usersession.cpp \           # 用户会话管理实现
    usermanagementwidget.cpp \  # 用户管理界面实现
    auditdialog.cpp \           # 审计对话框实现
    permissionmanager.cpp \     # 三级权限管理系统实现
    dataexporter.cpp \          # 高级数据导出系统实现
    pluginsystem.cpp            # 插件系统架构实现
 
# ==================== 头文件配置 ====================
HEADERS += \
    mainwindow.h \              # 主窗口头文件
    auditlogger.h \             # 审计日志记录器头文件
    databasehandler.h \         # 数据库处理器头文件
    audittrailmodel.h \         # 审计追踪数据模型头文件
    digitalsignature.h \        # 数字签名功能头文件
    loginwidget.h \             # 登录界面头文件
    usersession.h \             # 用户会话管理头文件
    UserManagementWidget.h \    # 用户管理界面头文件
    auditdialog.h \             # 审计对话框头文件
    AuditEntry.h \              # 审计条目数据结构头文件
    permissionmanager.h \       # 三级权限管理系统头文件
    dataexporter.h \            # 高级数据导出系统头文件
    pluginsystem.h              # 插件系统架构头文件

# ==================== 界面文件配置 ====================
FORMS += \
    loginwidget.ui \            # 登录界面UI文件
    usermanagementwidget.ui \   # 用户管理界面UI文件
    auditdialog.ui              # 审计对话框界面UI文件

# ==================== 资源文件配置 ====================
RESOURCES += resources.qrc      # 应用程序资源文件（图标、样式等）

# ==================== 功能特性说明 ====================
# 本项目实现以下核心功能：
# 1. 三级权限管理系统
#    - 查看者权限（Level 1）：仅可查看审计日志
#    - 操作员权限（Level 2）：查看 + 导出 + 基本操作
#    - 管理员权限（Level 3）：完整系统管理权限
#
# 2. 高级数据导出功能
#    - 支持多种格式：CSV、JSON、XML、PDF、Excel、HTML
#    - 高级过滤和自定义列选择
#    - 批量导出和定时导出
#    - 文件压缩和加密支持
#
# 3. 插件系统架构
#    - 可作为其他程序的外挂系统
#    - 支持动态插件加载/卸载
#    - 提供C API接口用于非Qt应用集成
#    - 插件沙箱和安全验证
#
# 4. 数据库安全特性
#    - SQLite数据库加密支持
#    - 用户密码哈希存储
#    - 审计日志完整性保护
#
# 5. 用户界面特性
#    - 现代化Qt界面设计
#    - 多语言支持准备
#    - 响应式布局设计
